Skip to main content

自定义上报

React Native SDK提供了丰富的自定义上报接口供用户使用。

自定义日志上报

info、error

这两个个方法是SDK提供的主要的自定义日志上报手段,使用方法如下:

Aegis.info('上报一条日志');
Aegis.error('上报一条错误日志');

// 也可以上报下边的日志格式

Aegis.info({
 msg: 'xxx', // 推荐设置,不设置,上报的 message 为空。
[key: string]: any,
});

// 上报错误日志,错误级别为 custom_error
Aegis.error({
 msg: '错误日志信息', // 推荐设置,不设置,上报的 message 为空。
[key: string]: any,
});

自定义事件上报

reportEvent

该方法可用来上报自定义事件,平台将会自动统计上报事件的各项指标,诸如:PV、平台分布等

reportEvent 可以支持两种类型上报参数类型,一种是字符串类型

aegis.reportEvent('XXX请求成功');

一种是对象类型,用户可以上传自定义字段

Aegis.reportEvent({
  name: 'XXX请求成功', // 必填
[key: string]: any,
})
提醒

自定义事件上报,默认日志类型 {level: "info", type: "custom_event"}

自定义测速

reportTime

该方法可用来上报自定义测速,例如:

// 假如‘onload’的时间是1s
aegis.reportTime('onload', 1000);

或者如果需要使用额外参数,可以传入自定义字段:

aegis.reportTime({
name: 'onload', // 自定义测速名称
duration: 1000, // 自定义测速耗时(0 - 60000)
[key: string]: any,
});

time、timeEnd

该方法同样可用来上报自定义测速,适用于两个时间点之间时长的计算并上报,例如:

aegis.time('complexOperation');
/**
* .
* .
* 做了很久的复杂操作之后。。。
* .
* .
*/
aegis.timeEnd('complexOperation'); /** 此时日志已经报上去了😄**/
  1. complexOperation 同样可以修改为其他的命名。
  2. 自定义测速是用户上报任意值,服务端对其进行统计和计算,因为服务端不能做脏数据处理,因此建议用户在上报端进行统计值限制,防止脏数据对整体产生影响。
  3. 目前 Aegis 只支持 0-60000 的数值计算,如果大于该值,建议进行合理改造。
  4. 高频率的自定义测速上报尽量使用 reportTime。time 和 timeEnd 上报会存在上报值覆盖的问题。比如 aegis.time(aaa), 在调用 aegis.timeEnd(aaa) 之前,又调用了一次 aegis.time(aaa), 则上报的时间为 timeEnd 时间 - 第二次 time 的时间。